package com.oliet.common.vo.user;

import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.util.ObjectUtil;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.oliet.common.vo.role.RoleVO;
import com.oliet.entity.Users;
import lombok.Data;

import java.util.Date;
import java.util.List;

/**
 * @author jiaZhenpeng
 * @Title: UserInfoVO
 * @Package com.oliet.common.vo
 * @Description: 用户详情
 * @date 2023-12-03 11:27
 */
@Data
public class UserInfoVO {

    /**
     * 用户id
     */
    private Long id;

    /**
     * 用户编码
     */
    private String code;

    /**
     * 用户名
     */
    private String username;

    /**
     * 姓名
     */
    private String fullName;

    /**
     * 邮箱地址
     */
    private String email;

    /**
     * 手机号
     */
    private String mobileNumber;

    /**
     * 是否是超级管理员
     */
    private Boolean isSuperAdmin;

    /**
     * 创建时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date dateCreated;

    /**
     * 可用IP
     */
    private String availableIp;

    /**
     * 角色数据
     */
    private List<RoleVO> roleVoList;


    public static UserInfoVO poConverVo(Users po) {
       UserInfoVO vo = new UserInfoVO();
       if (ObjectUtil.isNotNull(po)){
           BeanUtil.copyProperties(po,vo);
       }
       return vo;
    }

}
